UserInfo Endpoint
IdPが提供するAPIのこと
access tokenを受け取って、user情報を返す
利用例
login後に表示するuser名の取得
初期登録に必要な情報を取得
新規登録のためにuserのemailや住所を取得
request
ID tokenではないmrsekut.icon
access tokenを見ることで「どのuserからのrequestか」を判断できる
GETかPOST
code:requestの例
GET /userinfo HTTP/1.1
Host: server.example.com
Authorization: Bearer SlAV32hkKs
response
認証されたuserのclaimを返す
これはID tokenと同じぐらいの情報量のもの
code:responseの例
HTTP/1.1 200 OK
Content-type: application/json
{
"sub": "9XE3-JI34-00132A",
"preferred_username": "alice",
"name": "Alice",
"email": "alice.wonderland@example.com",
"email_verified": true
}
subは必ず含まれる
Access Tokenに含まれるsubの値
responseに含まれるsubの値
異なっている場合は、access tokenが入れ替えられていることを意味する
JWT形式かJSON形式
結果はcacheして使うことも多い
頻繁に変わるものではないので
responseに含まれる情報はaccess tokenのscopeによって規定される
参考
そうじゃないとaccess token持ってないもんねmrsekut.icon
UserInfo endpointは、OIDCの仕様として定義されているのでOIDCに則るなら必須